package net.hn.hnms.biz.support.service;


import net.hn.hnms.biz.support.company.domain.vo.ChartVo;
import net.hn.hnms.biz.support.domain.SupportHisPo;
import net.hn.hnms.biz.support.domain.SupportNowPo;
import net.hn.hnms.biz.support.domain.dto.BaseSensorCoordDto;
import net.hn.hnms.biz.support.domain.dto.ResistanceCurveDto;
import net.hn.hnms.biz.support.domain.dto.SupportCloudDto;
import net.hn.hnms.biz.support.domain.vo.*;
import net.hn.hnms.biz.support.group.domain.MineNowAlarmVo;

import java.util.List;

public interface SupportService {

    List<HolderResistanceMoveVo> selectNowList(String mineCode);

    /**
     * 最大工作阻力变化曲线
     * @param resistanceCurveDto
     * @return
     */
    List<ResistanceCurveVo> holderResistanceCurve(ResistanceCurveDto resistanceCurveDto);

    /**
     * 统计信息
     * @return
     */
    StatisticalInformationVo statisticalInformation(String mineCode);

    /**
     * 支架检测/支架位移曲线*
     * @param id
     * @return
     */
    EchartVo holderPressure(String id,String mineCode);

    List<List<Object>> holdernNephogram(SupportCloudDto supportCloudDto);

    /**
     * 获取支架最大压力数据记录
     * @return
     */
    SupportNowPo selectSupportNowPoOne(String mineCode);

    /**
     * 查询支架压力实时表所有煤矿的支架压力记录
     */
    Integer  selectAllSupportPressurePoint();

    /**
     * 支架报警曲线
     * @param number
     * @return
     */
    ChartVo riskStatistics(String number);

    /**
     * 查询支架报警,从支架历史表中查询今天的报警信息
     * @return
     */
    List<SupportHisPo> todayAlar();


    /**
     * 配置表中根据index获取支架文本
     */
    String supportTypeName(String index,String mineCode);
    /**
     * 配置表中获取支架文本列表
     */
    List<String> supportTypeNameList(String mineCode);

    /**
     * 获取公司端煤矿支架实时报警数
     * @param companyCode
     * @return
     */
    List<MineNowAlarmVo> nowAlarm(String mineCode,String companyCode);


    /**
     * 获取生产监控的支架数据BaseSensorTable表所有信息
     * @return
     */
    List<BaseSensorCoordDto> getProductionZjjcBaseSensorTableAllList(String mineCode);

    HolderAnalyseVo getHolderAnalysis(String mineCode);

}
